package main

import "fmt"

type Point struct {
	x int
	y int
}

func main() {
	// var a interface{}
	// var point Point = Point{1, 2}
	// a = point
	// // fmt.Println(a)
	// var s Point
	// //类型断言
	// s = a.(Point)
	// fmt.Println(s)

	// //类型断言的其他案例
	// var x interface{}
	// var b float32 = 1.1
	// //空接口可以接受任何类型
	// x = b
	// fmt.Println(x)
	// y := x.(float32)
	// fmt.Printf("y'type=%T 值是=%v", y, y)

	//待检测的类型断言案例
	var x interface{}
	var b float32 = 2.1
	//空接口可以接受任何类型
	x = b
	fmt.Println(x)
	y, ok := x.(float32)
	if ok {
		fmt.Println("convert ok")
		fmt.Printf("y'type=%T 值是=%v", y, y)
	} else {
		fmt.Println("convert fail")
	}
	fmt.Printf("继续执行")

}
